Non-Determinism and Overcount on Modern Hardware Performance Counter Implementations – Extended

نویسندگان

  • Vincent M. Weaver
  • Dan Terpstra
چکیده

Ideal hardware performance counters provide exact deterministic results. Real-world performance monitoring unit (PMU) implementations do not always live up to this ideal. Events that should be exact and deterministic (such as retired instructions) show run-to-run variation and overcount on x86 64 machines, even when run in strictly controlled environments. These effects are non-intuitive to casual users and cause difficulties when strict determinism is desirable, such as when implementing deterministic replay or deterministic threading libraries. We investigate eleven different x86 64 CPU implementations and discover the sources of divergence from expected count totals. Of all the counter events investigated, we find only a few that exhibit enough determinism to be used without adjustment in deterministic execution environments. We also briefly investigate ARM, IA64, POWER and SPARC systems and find that on these platforms the counter events have more determinism. We explore various methods of working around the limitations of the x86 64 events, but in many cases this is not possible and would require architectural redesign of the underlying PMU.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Can Hardware Performance Counters Produce Expected, Deterministic Results?

Experiments involving hardware performance counters would ideally have deterministic results when run in strictly controlled environments. In practice counters that should be deterministic (such as retired instructions) show variation from run to run on the x86 64 architecture. This causes difficulties when undertaking certain performance-counter related tasks, such as simulator validation and ...

متن کامل

System-wide Performance Counter Measurements: Offcore, Uncore, and Northbridge Performance Events in Modern Processors

Modern processors often have many processing cores in one package (or socket). Traditional hardware performance counters measure only values on a single core. A chip package has many resources which are packagewide and thus need a separate performance reporting mechanism. The values for these shared and off-core resources are reported as “offcore”, “uncore” or “northbridge” events.

متن کامل

Reducing Hardware Complexity of Wallace Multiplier Using High Order Compressors Based on CNTFET

   Multiplier is one of the important components in many systems such as digital filters, digital processors and data encryption. Improving the speed and area of multipliers have impact on the performance of larger arithmetic circuits that are part of them. Wallace algorithm is one of the most famous architectures that uses a tree of half adders and full adders to increase the speed and red...

متن کامل

FPGA Implementations of SPRING - And Their Countermeasures against Side-Channel Attacks

SPRING is a family of pseudo-random functions that aims to combine the guarantees of security reductions with good performance on a variety of platforms. Preliminary software implementations for smallparameter instantiations of SPRING were proposed at FSE 2014, and have been demonstrated to reach throughputs within small factors of those of AES. In this paper, we complement these results and in...

متن کامل

A Comparison of Counting and Sampling Modes of Using Performance Monitoring Hardware

Performance monitoring hardware is available on most modern microprocessors in the form of hardware counters and other registers that record data about processor events. This hardware may be used in counting mode, in which aggregate events counts are accumulated, and/or in sampling mode, in which time-based or event-based sampling is used to collect profiling data. This paper discusses uses of ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014